.\" %%%LICENSE_START(PUBLIC_DOMAIN)
.\" This page is in the public domain. - aeb
.\" %%%LICENSE_END
.\"
.TH UNLOCKPT 3 2021-03-22 "" "Linux Programmer's Manual"
.SH NAME
unlockpt \- unlock a pseudoterminal master/slave pair
.SH SYNOPSIS
.nf
.B #define _XOPEN_SOURCE
.B #include <stdlib.h>
.PP
.BI "int unlockpt(int " fd ");"
.fi
.PP
.RS -4
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.RE
.PP
.BR unlockpt ():
.nf
    Since glibc 2.24:
        _XOPEN_SOURCE >= 500
.\"        || (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED)
    Glibc 2.23 and earlier:
        _XOPEN_SOURCE
.fi
.SH DESCRIPTION
The
.BR unlockpt ()
function unlocks the slave pseudoterminal device
corresponding to the master pseudoterminal referred to by the file descriptor
.IR fd .
.PP
.BR unlockpt ()
should be called before opening the slave side of a pseudoterminal.
.SH RETURN VALUE
When successful,
.BR unlockpt ()
returns 0.
Otherwise, it returns \-1 and sets
.I errno
to indicate the error.
.SH ERRORS
.TP
.B EBADF
The
.I fd
argument is not a file descriptor open for writing.
.TP
.B EINVAL
The
.I fd
argument is not associated with a master pseudoterminal.
.SH VERSIONS
.BR unlockpt ()
is provided in glibc since version 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.ad l
.nh
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.BR unlockpt ()
T}	Thread safety	MT-Safe
.TE
.hy
.ad
.sp 1
.SH CONFORMING TO
POSIX.1-2001, POSIX.1-2008.
.SH SEE ALSO
.BR grantpt (3),
.BR posix_openpt (3),
.BR ptsname (3),
.BR pts (4),
.BR pty (7)
.SH COLOPHON
This page is part of release 5.13 of the Linux
.I man-pages
project.
A description of the project,
information about reporting bugs,
and the latest version of this page,
can be found at
\%https://www.kernel.org/doc/man\-pages/.
